require("lualib_bundle");
__TS__SourceMapTraceBack(debug.getinfo(1).short_src, {["4"] = 3,["5"] = 3,["6"] = 8,["7"] = 8,["8"] = 8,["9"] = 8,["11"] = 11,["12"] = 8,["14"] = 8,["16"] = 14,["19"] = 10,["20"] = 18,["21"] = 19,["22"] = 18,["23"] = 22,["24"] = 23,["25"] = 22,["26"] = 26,["27"] = 27,["28"] = 26,["29"] = 30,["30"] = 31,["31"] = 30,["32"] = 34,["33"] = 35,["34"] = 34,["35"] = 38,["36"] = 39,["37"] = 38,["38"] = 42,["39"] = 43,["40"] = 42,["41"] = 46,["42"] = 47,["43"] = 46,["44"] = 50,["45"] = 51,["46"] = 50,["47"] = 54,["48"] = 55,["49"] = 54,["50"] = 58,["51"] = 59,["52"] = 58});
local ____exports = {}
local ____handle = require("solar.w3ts.handles.handle")
local Handle = ____handle.Handle
____exports.Region = __TS__Class()
local Region = ____exports.Region
Region.name = "Region"
__TS__ClassExtends(Region, Handle)
function Region.prototype.____constructor(self)
    if Handle:initFromHandle() then
        Handle.prototype.____constructor(self)
    else
        Handle.prototype.____constructor(
            self,
            CreateRegion()
        )
    end
end
function Region.prototype.addCell(self, x, y)
    RegionAddCell(self.handle, x, y)
end
function Region.prototype.addCellPoint(self, whichPoint)
    RegionAddCellAtLoc(self.handle, whichPoint.handle)
end
function Region.prototype.addRect(self, r)
    RegionAddRect(self.handle, r.handle)
end
function Region.prototype.clearCell(self, x, y)
    RegionClearCell(self.handle, x, y)
end
function Region.prototype.clearCellPoint(self, whichPoint)
    RegionClearCellAtLoc(self.handle, whichPoint.handle)
end
function Region.prototype.clearRect(self, r)
    RegionClearRect(self.handle, r.handle)
end
function Region.prototype.containsCoords(self, x, y)
    return IsPointInRegion(self.handle, x, y)
end
function Region.prototype.containsPoint(self, whichPoint)
    IsLocationInRegion(self.handle, whichPoint.handle)
end
function Region.prototype.containsUnit(self, whichUnit)
    return IsUnitInRegion(self.handle, whichUnit.handle)
end
function Region.prototype.destroy(self)
    RemoveRegion(self.handle)
end
function Region.fromHandle(self, handle)
    return self:getObject(handle)
end
return ____exports
